@Allure
2年前 提问
1个回答
c语言运算优先级及运算顺序
Simon
2年前
按运算符优先级从高到低,单目运算符->双目运算符->三目运算符->赋值运算符->逗号运算符,特别在双目运算符中,按运算符优先级从高到低:算术运算符->移位运算符->关系运算符(其中==和!=优先级又较低)->逻辑运算符(按位与->按位异或->按位或->逻辑与->逻辑或)。
C语言运算优先级表如下(由上至下,优先级依次递减)
() [] -> .
之类的理所当然是最优先的.接下来就是单目运算符优先,也就是
! ~ ++ -- - (type) * & sizeof
了。接着是双目运算符,
< <= > >=
比== !=
的优先级来得高。此外,在逻辑运算符中,与运算又比或运算优先级来得高,异或则处于二者之间。同样的,你可以类比出&&
与||
的优先级关系。接下来是三目运算符。
然后是赋值操作符。
逗号运算符是分割各个子语句的,优先级最低。